Skip to content

feat(career): rebuild the public career frontend#2113

Merged
tomudding merged 1 commit into
GEWIS:mainfrom
tomudding:feat/vacancy-categories-enum
Jul 10, 2026
Merged

feat(career): rebuild the public career frontend#2113
tomudding merged 1 commit into
GEWIS:mainfrom
tomudding:feat/vacancy-categories-enum

Conversation

@tomudding

Copy link
Copy Markdown
Member

Description

This replaces the free-form VacancyCategory entity with a hard-coded VacancyCategories enum and reworks the public career pages, giving the 'Career' menu its own "Companies" entry so companies stay reachable even when they have no active vacancies.

The categories (jobs, internships, traineeships, student jobs and thesis projects) now live in the enum, which also carries their singular and plural labels and a badge colour per category. They are stored as an enumType column on VacancyRevision. A migration backfills the new column from the old slugs and drops the table.

The companies overview is a four-per-row card grid with a featured company spotlight, and each card links through to that company's page. A company page puts a details card, an "Open positions" list with one vacancy per category and a list of up to three upcoming activities the company organises in a sidebar, with the description next to it. The vacancies overview is a new Career:VacancyOverview live component whose category, company, label and search filters sync to the query string, the same way the activity overview works. A vacancy page mirrors the company one: the company, a coloured category badge, its labels and links out to the external website and any attachment sit in the sidebar, with the description alongside. On the overview the vacancy cards show a small company logo, the coloured badge and a clamped excerpt, and the whole card is a link.

The seeders gained companies with vacancies across every category and descriptions of varying length, and a few upcoming activities are now tagged with an organising company.


image image image image image

Related issues/external references

Closes GH-2068.
Closes GH-2069.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation improvement (no changes to code)
  • Other (please specify)

This replaces the free-form `VacancyCategory` entity with a hard-coded
`VacancyCategories` enum and reworks the public career pages, giving the
'Career' menu its own "Companies" entry so companies stay reachable even when
they have no active vacancies.

The categories (jobs, internships, traineeships, student jobs and thesis
projects) now live in the enum, which also carries their singular and plural
labels and a badge colour per category. They are stored as an `enumType` column
on `VacancyRevision`. A migration backfills the new column from the old slugs
and drops the table.

The companies overview is a four-per-row card grid with a featured company
spotlight, and each card links through to that company's page. A company page
puts a details card, an "Open positions" list with one vacancy per category and
a list of up to three upcoming activities the company organises in a sidebar,
with the description next to it. The vacancies overview is a new
`Career:VacancyOverview` live component whose category, company, label and
search filters sync to the query string, the same way the activity overview
works. A vacancy page mirrors the company one: the company, a coloured category
badge, its labels and links out to the external website and any attachment sit
in the sidebar, with the description alongside. On the overview the vacancy
cards show a small company logo, the coloured badge and a clamped excerpt, and
the whole card is a link.

The seeders gained companies with vacancies across every category and
descriptions of varying length, and a few upcoming activities are now tagged
with an organising company.

Closes GEWISGH-2068.
Closes GEWISGH-2069.
@tomudding tomudding merged commit fe3a911 into GEWIS:main Jul 10, 2026
6 checks passed
@tomudding tomudding deleted the feat/vacancy-categories-enum branch July 10, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add companies to Career menu Remove JobCategory in favour of hard-coded categories for vacancies

1 participant